home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
qbbs
/
protohlp.zip
/
SPROTO.HLP
Wrap
Text File
|
1992-03-02
|
86KB
|
1,738 lines
▄▄▄▄ ▄██████▄ ▄██████▄ ▄▄▄▄
▄██▀▀▀▀█▄ ▐▌ ▐█▌ ▀█▌ ▐▌ ▐█▌ ▀█▌ ▄██▀▀▀▀█▄
▀████▄▄ ▐ ▄▀████▄ ▄███▄ █▀██▄▄▄ ▐ █ ▄▀ ▐ █ ▄▀ ▀████▄▄
▄ ▀▀▀██▄ █ ▐ ██ ▀█▄ ▐█▀ █ ██▀▀▀█▄ ██▀▀▀█▄ ██▀▀▀█▄ ▄ ▀▀▀██▄
▌ ▐██ ▐█ █ ▐█ ██ ██▄▄▄ █▌ ▀▌ ▐█▌ █▌▌ ▐█▌ █▌▌ ▐██
█▄ ▄██▌ ▐█▄ ▄█▌ ▐██▄█▀ ▐█▄ ▄ █▌ ▐▌ ██ ▄█▌▐▌ ██ █▌█▄ ▄██▌
▀██████▀ ▀████▀ ██▀▀ ▀████▀ ▐██▄ ▀████████▀ ▀████████▀ ▀██████▀
██
█▌ Protocol Setup for version 1.15+
█ Written by Bob Henderson
▌ Fido 1:3812/10
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
I N D E X
─────────
Description....................................Page #
─────────────────────────────────────────────────────
What to look for in a protocol.......................1
My personal setup....................................1
Environment variables................................2
What happens next?...................................3
Ramdrives............................................3
16550 uarts..........................................3
Config and Sproto.Bbs................................4
General protocol help................................5
DSZ or GSZ...........................................6
MPT/PUMA.............................................7
LYNX.................................................9
Microtech protocols.................................10
SzModem.............................................12
HS/Link.............................................12
SuperK..............................................14
BiModem.............................................16
Global downloads w/single file......................20
Errorlevel protocols................................21
Other protocols.....................................23
Modem Settings......................................23
Who is Bob?.........................................25
Credits.............................................26
Now what?...........................................26
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Index
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
Setting up external protocols with any BBS can be a real chore.
First you should know all you can about the protocol that you want to
use. I will stress this here. READ THE DOCS! You must be familiar with
the protocol and its switches. Some of them use / or - for switch
characters, some don't. Some want a \ on the end of the upload path,
some have case sensitive switches, p and P are not the same to DSZ. You
should ask yourself a few questions about the external protocol that
you want to set up.
Is it stable? i.e. No lock ups.
Does it support SHAREing of files ? ( for multi-line )
Will it support locked port rates? (Most do)
Can the transfer be aborted? (??)
Can it transfer multiple files? (Batch Transfer)
You can probably think of a few others. Once you find that perfect
protocol you then have to interface it to some other program such as a
communication program or a BBS package (SuperBBS). The SuperBBS setup
is where I come in. Granted that I may leave something out in this
document or something may not work correctly on your system but you
should be able to get some very helpful information from this document.
I would distribute a SPROTO.BBS to go along with it but since I felt
that many people would just copy it over to their SuperBBS directory
and expect it to run (NOT!). Instead of doing this I will paste the
info that you need to put in the config.exe and you can print or write
down whatever you want, this way I am at least assured that you know
you will be using a particular protocol and that the paths and switches
are correct.
Up until the time SuperBBS supported external protocols I had used
Filedoor v2.03 for external protocols. Filedoor is a very nice program
but using it requires you to set up yet another external door. Filedoor
did handle the protocols very well and has a few more options for
calling protocols. I still use it today to test protocols, mainly
because editing their text file configuration file is easier and can be
changed online between running tests.
M Y S E T U P
───────────────
First a little information about my setup. This might help you
determine something, don't know what but it always helps to know what
the other person (me) is running.
386/25, 64k memory cache, 8 megs RAM
Desqview 2.42, QEMM 6.02
Hyperdisk 4.31, 2megs Expanded memory cache
Nifty James Ram Disk, Enhanced version, 1.4 megs
16550 AFN National Semi-conductor UART chips, both ports
US Robotics HST/Dual Standard, COM1, locked at 38400 baud
ZOOM 2400 v.42bis, COM2, locked at 9600 baud
X00 v1.24 Fossil Driver or BNU v1.70, depends on how I feel.
SuperBBS v1.15+ with 3 nodes, one is local.
Thousands of Doors (you know what I mean?)
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 1
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
If your setup is similar to this, you should have no problems then,
if yours differs somewhere then you might need to make some adjustment.
I will try to give you some tips on each protocol that I have tested.
If you run a locked port rate of 19200 or higher there are a few
protocols that you cannot use. Most are older ones that have faded away
or are no longer supported. Some of the protocols will work for 19200
and not 38400, this goes back to the programmer most likely. They
probably used a integer for the baud variable instead of a unsigned
integer.
E N V I R O N M E N T V A R I A B L E S
────────────────────────────────────────
The first and most important thing is to set a few environment
variables that the protocols can use.
SET DSZLOG=<path\filename> Name of DSZ log file
SET COM?=<locked rate> Microtech protocols
SET SBBS=<path> SuperBBS
Of course there are many more variables needed to run your BBS but
this is supposed to cover protocols and not the entire BBS operation.
DSZLOG= This will tell DSZ along with many other protocols to use this
setting for their log file. It is IMPORTANT in a multi-line
situation to set this to something different for each line. I
would recommend setting this in your autoexec.bat so you can
get the environment space, then changing it in each nodes batch
file. You should also give a complete PATH and File name, like
C:\SBBS\DSZ.LOG The reason for this is if something changes
directories you may end up with DSZ.LOG's all over the place.
Check the part on ramdrives, you may want to assign your DSZlog
to a ramdrive. If your running a multi-node set up, change the
DSZlog variable in each nodes batch file to something
different. Mine runs like ..
Node 1 = I:\SBBS\DSZLOG.N1
Node 2 = I:\SBBS\DSZLOG.N2 and so on.
COM?= All of the Microtech protocols use this variable for the locked
baud rate, something like SET COM1=38400. Microtech can also
use a command line switch, but this option is not available on
all protocols where as the SET statement applies to ALL of
them. In a multinode setup it will be easier to use the
environment variables than to edit each nodes sproto when you
change the locked port rate.
SBBS= SuperBBS needs this variable, whether running multi-line or
not. Sbbs changes directories when doing file transfers and
this will help insure that Sbbs can find any configuration
files that it needs. SET SBBS=C:\SBBS, would tell SuperBBS that
all of it's configuration files can be found on C drive in the
SBBS directory.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 2
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
W H A T H A P P E N S N E X T ?
───────────────────────────────────
When SuperBBS executes your external protocol it will make a files
listing for batch protocols and de-initialize the fossil driver, if the
protocol requires the fossil to be hot use a *H on the protocol command
line. On Uploads, Sbbs will change directories to your specified upload
directory (optional data in menu) then execute protocol. On Global
downloads SuperBBS WILL NOT change directories. This is a minor problem
for non-batch transfers. When you execute a protocol and pass %1
(filename) to it, it is not expanded into the complete path and name.
The protocol will come back "File not found!" This only happens on a
global file download and when the file is somewhere other than the
current directory. I have worked a small (awkward) fix for this with
the use of a batch file. Granted it's not a perfect fix but it does
work fine. I will explain it further on down in this document.
Q: Where should I put all these external protocols?
A: Anywhere you want!
The way I have it set up is to keep all protocols and external comm
programs in a directory. Mine is named C:\EXT, also this directory is
in the DOS Path. What this means is, if a program executes something
and it is not in the current directory DOS will search the PATH for the
named program. C:\EXT has external protocols, transfer programs, comm
programs and similar related programs. Besides keeping these files in a
different directory it will make your Sbbs directory look a lot better
and when a upgrade comes along you will know where to go. TIP: Keep
directory names short, that way you can add it to the path statement
which has a limit of 127 characters.
R A M D R I V E S
─────────────────
If you have the memory try installing a Ram Drive, I would think
that 30-50 k should be enough. Then in your autoexec.bat add..
MD <drive>:\SBBS
<drive> would be the drive assigned to your ramdrive. Why use a
ramdrive ? The log files that the protocols make are deleted after Sbbs
reads them so why not tear up a ramdrive, also the file lists that Sbbs
creates are deleted after the protocol uses them. Same philosophy. You
should assign a directory to use. DOS places a limitation on how many
files that the root directory can hold, but there is no limitation on
the amount files kept in sub-directories.
1 6 5 5 0 U A R T S
─────────────────────
You have heard it a million times "Buy a 16550 uart, it will solve
all your problems". And it will! Well most of your problems. If you are
plagued by many transfer errors at high speeds (9600+) then you need to
get one of these chips. They are very inexpensive and are relatively
easy to install. If you are running in Desqview at any baud rate
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 3
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
besides 2400 you NEED one. If you don't have it just about anytime
someone is downloading they will most likely receive errors when you
try to do something in another window. DSZ and GSZ slice out so much
time in DV that just one little interruption can send them into crash
recovery.
C O N F I G a n d S P R O T O . B B S
─────────────────────────────────────────
To add your protocols to the BBS you will have to enter them into
the external protocols file using CONFIG. Crank up CONFIG and choose
Files and then external protocols. Familiarize yourself with the data
that will be needed to run a external protocol.
Activated.....: Simply yes or no. Is this protocol going to be used in
the protocol going to be available to the users?
Name..........: The Name of the protocol. Not much room here but enough
to tell the user what it is.
Key...........: What key will activate this protocol
Batch.........: Is this protocol capable of transferring more than one
file at a time?
Protocol Type.: There are only 2 types really available, OTHER and
BIMODEM(ICOM). The unused is hopefully to add a option
for errorlevel protocols? How about it Aki?
Log Style.....: What type of log file will this protocol create? DSZ,
Bimodem(ICOM) or OTHER. The first two should cover most
all protocols your need to run. The OTHER would be for
those protocols that create a log file but have a
different format. Using OTHER you will have to give
some other information below.
Download Cmd..: This would be the command to execute the protocol and
get it to start sending files. This is where you need
to know where the protocol is because command.com is
not loaded and Sbbs will not search for the file.
Something like.. C:\EXT\GSZ.EXE .......... Also
remember that the command line is limited to 127
characters unless you are running 4DOS. This includes
expansion, *B could be 4 or 5 characters, 2400 .. 14400
baud. You can use any of the parameters that you might
use for a menu type 7 plus some extras. %1 would
translate to the filename, %2 = Users download limit in
bytes, %3 = time left.
Upload Cmd....: Same as the download command but to receive files.
Log file name.: What is the name of the log file that the protocol will
create? Remember the SET DSZLOG= variable and use the
same name if the protocol makes a compatible DSZ log
file.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 4
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
Control file..: This is created when SuperBBS executes the protocol.
The file will be a straight ASCII file that will have
the path and names of files to download. Only used for
batch protocols but is created if there is a filename
here. If you are running multinode you will have to
name this file differently for each node. Most batch
protocols use this file to find out which files to
send. Usually passed to protocol like @filelist.
Efficiency....: How efficient is the protocol? This is a percentage on
how the protocol does against the actual baud rate. If
the protocol does 235 cps at 2400 baud then it would be
around 98% efficient. Sbbs will use this number to
calculate transfer times to be displayed to the user.
Download Str..: Usually %1 will do here, %1 is translated in to the
name of the file and is what Sbbs will look for in the
log file to determine if the file was transferred
correctly. You could put E:\UPLOADS\%1 but then Sbbs
would not acknowledge the file transfer unless it found
exactly that path in the log file.
Upload Str....: Same as download string but for uploads.
DL log keyword: If you selected OTHER for log file type you will need
to fill this in. What it wants is the character or word
that will be in the log file that says a transfer was
successfully done. See example for Tmodem for more on
this.
UL log keyword: Same as download keyword but for uploads.
File Name word: Most log files are broken up into columns, like it
might say..
S 12233 SOMEFILE.ZIP
R 34000 OTHERFIL.ZIP
What your enter here is the column that Sbbs can find
the filename in. Note that this number appears to be 0
based. For the example 0=keyword, 1=size, 2=filename.
Seems like a lot to enter but depending on how many other programs
you have set up this is rather simple. It's just a matter of getting
used to it.
G E N E R A L H E L P
───────────────────────
In each of the individual help sections I will cover the correct
installation of each protocol. What I mean by correct is, Sbbs will
acknowledge that a file was sent or received. The protocol will not
pause or abort. I will also cover some different aspects of each
protocol and paste a picture of the setup for that protocol in each
section. You can print this document and then transfer the information.
Be sure you change any paths that I specify to the correct path for
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 5
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
your setup. Basically I will hope to set you up on a protocol as easily
as possible. Of course there is no guarantee that all of these
protocols will work on your system, but the only way to find out is
try. Please not that some of the command lines were to long and wrapped
to the next line, I will indent these so it is easier to read.
D S Z o r G S Z
─────────────────
DSZ is probably one of the most popular external protocols that
people use. This would make a great addition to your system. Ymodem-G
or redirected uploads in DSZ or GSZ will not work in the unregistered
versions. If you can, you should register DSZ. DSZ's Ymodem-G works
very well and the ability to redirect and rename downloads is a nice
feature. Besides it does work well and is constantly updated.
DSZ will probably be the easiest protocol you setup. For one thing
DSZ does not rely on locked ports or passing the baud rate to do its
stuff. DSZ is also very reliable and quick. Zmodem Mobyturbo being the
favorite DSZ protocol. DSZ is also SHARE compatible and will allow two
or more users to download the same file at the same time.
Set your DSZLOG variable as described above. It is important to use
a full path\name for your DSZ.LOG. If your using a ramdrive remember to
assign your log to that drive. Also remember to use a different log
file for each node when running multinode. I also use the DSZPORT
variable to tell DSZ which port to use, SET DSZPORT=2 will tell DSZ to
use COM2 when it executes. This way you can have a different variable
in each window in DV and not worry about DSZ using the wrong port. If
you don't want to do this you could specify "port 2" on the command
line for DSZ.
Here is an example of the config setup...
───────────────────────────────────────────────────────────────────────
Activated : Yes
Name : DSZ Moby Zmodem
Key : M
Batch : Yes
Protocol type : OTHER
Log style : DSZ
Download command : c:\ext\gsz.exe est 0 *B pV1 sz -m @i:\files.n1
Upload command : c:\ext\gsz.exe est 0 *B pV1 rz -m
Log file name : i:\sbbs\dszlog.n1
Control file name : i:\files.n1
Effic : 98
Download Ctl Str : %1
Upload Ctl Str : %1
Download log keyword:
Upload log keyword :
File name word NR. : 0
───────────────────────────────────────────────────────────────────────
Most people will probably say "Bob, where's all the switches for
DSZ?". Well the best thing about DSZ is most of the defaults are the
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 6
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
switches that you are using. I have seen more command lines with "CON"
or "handshake both" that don't need to be there. These are defaults for
DSZ. I simply want DSZ to estimate the transfer for the correct baud
rate. If you run a locked port you will know what I mean. DSZ uses the
locked port rate for estimating the time of transfer and at 38400 it
looks kinda funny. So "est 0 *B" will translate out when DSZ is called
and the transfer times on your end will be correct. "pV1" tells DSZ to
do direct screen writes, although you should not do this in Desqview I
have never found it to bleed through to another screen. "sz" or "rz"
tells DSZ to do Zmodem transfers while "-m" is for Mobyturbo
enhancement on Zmodem. Notice that I use a log file name with a number
in it, If your running more than one line then yours will have to be
similar to avoid any possible share violations. Also I: is my ram
drive, why not tear it up on those small files.
On the download and upload control string just use a %1 and don't
put anything for the download directory on any of the DSZ receive
commands. Reason? Using %1 tells Sbbs to just look for the filename, if
your use the command line DSZ est 0 *B rz -m %1, DSZ will log the
filename and the directory. Sounds ok but there is a catch. DSZ was
written in C and in C you can use \ or / for delimiters in the path and
this is what screws up Sbbs, In pascal C:/UPLOADS/FILENAME.ZIP is not a
valid filename, then Sbbs assumes the file was not transferred. Trust
me! Don't give DSZ a download path and all will be fine. It will then
only log the filename and all will be OK!
Other than what I mentioned above there should be nothing special
to do with DSZ, no configs for it. Just place it in a directory
somewhere and let it run. DSZ is also very very Desqview aware, running
it in the background is a no problem, even at 14400 HST speeds it seems
like it's not there.
To use Ymodem or Ymodem-g just change the command line to the
correct protocol, "rb" Ymodem receive, "sb" Ymodem send. Add a "-g" for
enabling the error correcting portion of Ymodem. For Xmodem you will
have to do it a different way. Read the section on Global downloads.
P U M A / M P T
─────────────────
MPT (used to be Puma) is something you should add to the protocol
list. Although it is not supported by the author anymore it is one of
the users favorites. It has this amazing status screen that gives you
total information while the transfer is going on. It also is a very
efficient protocol, with RLE compression that will compress files (if
it can) and send them out that way. This further increases the speed.
Not to many switches here, you should run MPTSET and look at the
options and set things like overwrite files and crash recovery to
whatever suits your needs. If your running multiline DON'T set the log
file to anything in MPTSET, you will be doing this from the command
line. MPT creates a DSZ compatible log file so it will using that log
file type.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 7
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
MPT does support batch file transfers, is SHARE aware and even
Desqview aware in the sense it will write to the DV video buffer. Only
one problem with that though, since in you are running a fossil driver
and it has at least int 14h interrupt MPT does not think it's in
Desqview. It will bleed through to other screens if you don't have
"Displays graphics" turned on for that window in Desqview. There is
minimal bleed when "graphics" is turned off and "virtualize screen" is
set to 'T'ext. I have found Puma/Mpt to be a very stable program,
except for the little bleeding it does in Desqview it does pretty good.
One thing to note, MPT is very fast and does support crash recovery but
is not a very good protocol for noisy telephone lines. It seems that it
is very sensitive to that and at higher baud rates a 16550 uart is a
must. This what my screen looks like in MPTSET
COM port : 1 Beep when finished : No
UART baud : Current Use 16550A FIFOs : Yes
Eff. baud : UART CTS/RTS handshake : Fast
COM1 base : 3F8 DCD monitoring : Yes
COM1 irq : 4 Modem hangup : No
COM2 base : 2F8 Wait for key : No
COM2 irq : 3 RLE compression : Yes
COM3 base : 3E8 Kill aborted files : No
COM3 irq : 4 Current date stamp : Yes
COM4 base : 2E8 Overwriting files : No
COM4 irq : 3 Resuming transfers : No
CDS log file = none
DSZ log file = none
Of course your settings may differ from mine but this may give you
something to start with. Pay more attention to the right column and
change any settings you feel necessary.
Here is an example of the config setup...
───────────────────────────────────────────────────────────────────────
Activated : Yes
Name : Puma/Mpt v1.10
Key : P
Batch : Yes
Protocol type : OTHER
Log style : DSZ
Download command : c:\ext\mpt.exe P*P E*B S9600 Li:\sbbs\dszlog.n*N
S @i:\files.n2
Upload command : c:\ext\mpt.exe P*P E*B S9600 Li:\sbbs\dszlog.n2 R
Log file name : i:\sbbs\dszlog.n2
Control file name : i:\files.n2
Effic : 98
Download Ctl Str : %1
Upload Ctl Str : %1
Download log keyword:
Upload log keyword :
File name word NR. : 0
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 8
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
MPT will require the port to use on the command line, use *P
instead of putting the number there. Makes things a lot easier later.
MPT also will use the locked port rate to estimate file transfers. With
all the information that MPT displays on the screen it doesn't look
right when a 2400 baud caller can download a 100k file in 24 seconds.
Use the E*B to tell MPT to use *B true baud rate to estimate time. Ok
here comes the log file. In MPTSET you can set the log file but when
running multiline you will need to set it here. L<log file>, remember
the DSZ variable. You will have to enter the path and name of log and
make sure it matches the log file name listed under "Log file name" I
also used the *N here for node number. Sbbs will expand all variables
on the command line, only problem is it will not expand them on the log
file name and control file name. 98% efficiency for this one (or
better).
L Y N X
───────
Lynx is one of those protocols that just works good. It also has
RLE compression to speed up transfers. Nothing particular to worry
about here. It makes a DSZ compatible log file using the DSZLOG
variable for the filename. The only strange thing about Lynx is it
needs to know the locked port rate. It will not work if you pass the
true baud rate and have the port locked at 9600-38400. Granted the file
estimate time will be off at least the protocol will work.
Here is an example of the config setup...
───────────────────────────────────────────────────────────────────────
Activated : Yes
Name : Lynx v3.02
Key : L
Batch : Yes
Protocol type : OTHER
Log style : DSZ
Download command : c:\ext\lynx.exe S /*P /9600 /H @i:\files.n2
Upload command : c:\ext\lynx.exe R /*P /9600 /H
Log file name : i:\sbbs\dszlog.n2
Control file name : i:\files.n2
Effic : 98
Download Ctl Str : %1
Upload Ctl Str : %1
Download log keyword:
Upload log keyword :
File name word NR. : 0
───────────────────────────────────────────────────────────────────────
Lynx requires you to tell it which port it is on, this should be
the first parameter AFTER telling it which way to do transfer (S or R).
Just put /*P and that should cover it. Next for locked port settings
put /<locked rate> If you are not running a locked port use /*B The
next parameter is only for error correcting modems, /H is CTS/RTS
handshaking. Then on sending files add your @<list file>. always make
sure the file name here is the same as the one you specify for the
Control file name. On receive you can put the directory to download the
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 9
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
files into, but since Sbbs will change to that directory it is not
necessary. The Log file name should be the same as the DSZLOG variable
since Lynx uses that variable. DO NOT use the switch to make lynx go
full screen in DV, this causes severe bleed through. Normally it will
look kinda like DSZ, just a filename and what block it is on.
I have been unable to test this one with SHARE, so be careful with
it. You may not think that something like file shareing would be
necessary, may never see 2 people download the same file but it does
happen so it is a feature that you need when running a multinode BBS.
M I C R O T E C H
─────────────────
What! Microtech? Well I used to say the same thing, Who is
Microtech? Well they or him/she writes protocols for their BBS package.
Originally all of there protocols were designed around Osiris. But will
now work with any type BBS, unregistered versions will only allow
single file transfers so if you want batch you have to pay. Microtech
has several different protocols. Zmodem, Ymodem, Xmodem, Tmodem and
Zmax. Most of them work very well, I have had some problems with Tmodem
and was unable to get support from there BBS, their main thing was that
I am not running Osiris so no support, even if I registered. Anyway I
have all of their latest protocols available on my BBS. The latest
versions that I have are..
Zmodem v9.00
Ymodem v7.00
Xmodem v2.00
Tmodem v8.00
Zmax v1.00b
I will not go into great detail on each of these, only to say that
the command line switches are pretty much the same. Their Ymodem does
offer a G error correcting mode, and Tmodem is very fast (when it
works). I will post Tmodem, and then the different command lines for
ONLY the ones that are different. You MUST have the COMx variable set
for a locked port. If COM1 is locked at 38400 you have to have in your
autoexec.bat SET COM1=38400 . Don't ask me why but Microtech uses this
setting to do some things, although they say their protocol is smart I
can't figure out why it needs this then. There is one catch to using
other Microtech protocols other than Tmodem, they don't create a log
file. See Errorlevel protocols to see how to run these.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 10
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
Here is an example of the config setup...
───────────────────────────────────────────────────────────────────────
Activated : Yes
Name : Tmodem v8.00
Key : T
Batch : No
Protocol type : OTHER
Log style : OTHER
Download command : c:\ext\tmodem.exe /B*B /P*P /Xi:\sbbs\dszlog.n2
/S @i:\files.n2
Upload command : c:\ext\tmodem.exe /B*B /P*P /Xi:\sbbs\dszlog.n2
/Ue:\uploads /R
Log file name : i:\sbbs\dszlog.n2
Control file name : i:\files.n2
Effic : 98
Download Ctl Str : %1
Upload Ctl Str : %1
Download log keyword: S
Upload log keyword : R
File name word NR. : 3
───────────────────────────────────────────────────────────────────────
NOTE: Log style is not DSZ compatible. This is where you have to
enter some things for the download and upload keyword. Also what part
of the line is the filename. I worked with this for quite a while and
these settings do work. Also Tmodem is very tempermental. Most of the
time it works fine but then sometimes it just doesn't want to send or
receive files. Can't explain why but a cold reboot clears it up. If you
are running a fast modem without a 16550 chip you will have to use the
/A switch which is for Xon/Xoff handshaking, otherwise Tmodem will not
be very reliable. As the rest of the pass *B which is a must for this
protocol and *P port to it. /X is redefine log file, which by default
is tmodem.log. the only problem with this is the log file will end up
in the download directory. So /Xi:\sbbs\dszlog.n1 will always be where
Sbbs and I can find it. If you decide to use the /U<upload> directory
Tmodem DOES NOT want a \ at the end of the path. A Tmodem log file will
look like..
S 261453 121% SBBS_104.ZIP
│ │ │ └ File name, third item
│ │ └ percent efficiency, second item
│ └ Size of file, first item
└ S for send, R for receive. zero'th item?
This is what Sbbs will find and this is where you need to tell Sbbs
to find the Key word, S or R, and the filename, third column. Notice
also that I have Tmodem listed as a single file transfer but pass along
the control file. Why you ask, read the section on Global transfers
with single file protocols and it should clear this up.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 11
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
S Z M O D E M
─────────────
SzModem is another Zmodem protocol with a few twists. It works and
allows your users to do useful things while downloading, like play
games, use Sdos, view files, and even page the sysop (you) and chat
while downloading. Pretty neat eh? Szmodem does come with it's own
configuration utility but I never felt safe in using it so the command
line is where I tell it what to do. The main thing that I wanted it to
do was create a DSZLOG file and not make all the other log files that
Szmodem can do. I was successful except for one thing. Szmodem insists
on sending a file with information to the other Szmodem before
transfer, the only problem with this is it records this file in the
DSZLOG. Then the user gets prompted for description of SZ??????.???
when they probably don't even know what it is. Oh well, not perfect but
it does work.
Here is an example of the config setup...
───────────────────────────────────────────────────────────────────────
Activated : Yes
Name : SZmodem v1.60
Key : S
Batch : Yes
Protocol type : OTHER
Log style : DSZ
Download command : c:\ext\szmodem.exe PORT *P BAUD *B /LOCK 9600
/NOLOG /DL /DT 0 /NOSBL /SZT SZ @i:\files.n2
Upload command : c:\ext\szmodem.exe PORT *P BAUD *B /LOCK 9600
/NOLOG /DL /DT 0 /NORBL /SZT RZ
Log file name : i:\sbbs\dszlog.n2
Control file name : i:\files.n2
Effic : 98
Download Ctl Str : %1
Upload Ctl Str : %1
Download log keyword: S
Upload log keyword : S
File name word NR. : 1
───────────────────────────────────────────────────────────────────────
As you can see Szmodem's command line is rather long. All is
explained in the Szmodem documents, you should use as I have. This way
Szmodem won't create a SZMODEM.LOG and some other log files, also the
/DL tells Szmodem to Log to the DSZLOG variable. Szmodem IS NOT SHARE
aware. Maybe this will help make your mind up.
H S / L I N K
─────────────
Hs/Link is the new kid on the block with great potential. It allows
bi-directional transfers and a easy setup for both you and the user. It
creates a DSZ compatible log file and uses the DSZLOG variable. One
problem that plagues it at the moment is most all protocol doors are
unable to acknowledge that a file was uploaded and downloaded in the
same session. I sent some info to Aki about how Hs/Link logs its
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 12
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
transfers so maybe the next version of Sbbs can handle it. At the
moment if a user starts downloading files and while downloading sends
you a file Sbbs will log the downloads and any uploads ALL as
downloads. Not very good for the user. Run HSconfig and set the things
that apply to your modem, like CTS/RTS .. Now for the info that I have
stored in HSCONFIG...
HS/Link: Basic Settings
───────────────────────────────────────────────────────────────────────
COM port number (1-8) . . . . . . . . . . . 1
Directory for downloaded files. . . . . . . E:\UPLOADS\________________
Use "SLOW HANDSHAKE" during disk I/O. . . . N
HS/Link: Advanced COM Settings
───────────────────────────────────────────────────────────────────────
Non-Standard COM base (in DECIMAL, 0 = standard COM port) . . . . 0░░
Non-Standard COM IRQ (1-7, 0 = standard COM port) . . . . . . . . 0_
COM port open speed (300-115200, 0 = automatic) . . . . . . . . . 0__
Effective modem-to-modem speed (0 = same as open speed) . . . . . 0__
Enable CTS hardware handshake . . . . . . . . . . . . . . . . . . Y
Enable RTS hardware handshake . . . . . . . . . . . . . . . . . . Y
Enable XON/XOFF software handshake. . . . . . . . . . . . . . . . Y
Enable Carrier Detect checking. . . . . . . . . . . . . . . . . . Y
Preserve original time/date stamp on received files . . . . . . . N
HS/Link: Advanced Optional Features
───────────────────────────────────────────────────────────────────────
Attempt to Resume aborted transfers . . . . . . . . . . . . . . . N
Keep partial files from aborted transfers . . . . . . . . . . . . N
Allow received files to overwrite/modify existing files . . . . . N
Enable file read/write buffering. . . . . . . . . . . . . . . . . Y
Enable "Dynamic-Code-Substitution" logic. . . . . . . . . . . . . Y
Size of transmitted data blocks (64-4096 bytes/block) . . . . . . 1024
Number of blocks in transit before ACK is required (1-1000) . . . 8___
Disable transmission of ACK for each block received . . . . . . . N
Force remote unit to use local option settings. . . . . . . . . . N
HS/Link: Screen Settings
───────────────────────────────────────────────────────────────────────
Enable Full-Screen status display . . . . . . . . . . . . . . . . Y
Enable direct video writing (turn off in DesqView/DoubleDOS/etc). N
Color of BORDER in full screen mode . . . . . . . . . . . . . . . 7__
Color of PROMPTS in full screen mode. . . . . . . . . . . . . . . 47_
Color of WINDOW TITLE in full screen mode . . . . . . . . . . . . 79_
Color of WINDOW CONTENTS in full screen mode. . . . . . . . . . . 31_
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 13
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
Here is an example of the config setup...
───────────────────────────────────────────────────────────────────────
Activated : Yes
Name : HsLink 1.0
Key : H
Batch : Yes
Protocol type : OTHER
Log style : DSZ
Download command : c:\ext\hslink.exe -P*P -NV -E*B -Ue:\uploads\
@i:\files.n2
Upload command : c:\ext\hslink.exe -P*P -NV -E*B -Ue:\uploads\
Log file name : i:\sbbs\dszlog.n2
Control file name : i:\files.n2
Effic : 98
Download Ctl Str : %1
Upload Ctl Str : %1
Download log keyword: H
Upload log keyword : H
File name word NR. : 1
───────────────────────────────────────────────────────────────────────
Basic stuff here, -P*P for port to use, -NV is for me and Desqview,
tells Hs/Link to do bios screen writes. Use -E*B to have the correct
estimated times and last but not least give both the upload and
download commands and -U<upload path> Since Hs/Link is bi-directional
at least you should have some control over where the files are going to
end up. Once again, make sure the control file and the download command
file name @<file name> are the same. Also the log file name should be
the same as your DSZLOG variable.
S U P E R K
───────────
I'm a little confused, last time I looked SuperK was up to version
4.53 or something like that. Next thing I know I see this thing called
SuperK HST somewhere and download it, version number was 1.06 but after
looking at it it was the new SuperK, go figure! I had already set up
all of the old SuperK prots then new comes along so more testing to do.
This new version has 15 different ways of getting files out the old
comm port. Each variation has something different but the main
objective is to get the file there fast. New to Superk is a
installation program, run it and set up what you need to. My settings.
Flags/Misc
┌────────────────────────────────────────┐
│ a) Port Speed : 0 │
│ b) Modem Speed : 0 │
│ c) Comm port is locked : Yes │
│ d) Check CTS/RTS lines : Yes │
│ e) Monitor carrier detect : Yes │
│ f) 16550 Fifos enabled : Yes │
│ g) Suspend during writes : Yes │
│ h) Drain buffer on writes : No │
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 14
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
│ i) Strip file name : No │
│ j) Save aborted downloads : No │
│ k) Overwrite existing files : No │
│ l) Silent Mode (no alarm) : Yes │
│ m) Erase batch filename list : Yes │
│ n) Extended log entries : No │
│ o) Direct Screen Writes : Yes │
│ p) Xfer file on 0 byte files : Yes │
│ q) Default direction : Send │
│ r) Receive resume mode : Auto │
│ s) BBS node character : │
└────────────────────────────────────────┘
Paths/Logs
┌────────────────────────────────────────────┐
│ a) Log : I:\SBBS\DSZLOG.N? │
│ b) Xfer: I:\FILES.N? │
│ c) WrkP: │
│ d) OvlP: C:\EXT\ │
│ e) Path: │
└────────────────────────────────────────────┘
Please note that the log file and control file name have a ? in them.
If you run multinode and pass the /N*N parameter to Superk it will
translate your node number into the name where the question mark is.
Only thing to watch out for here is it only goes 1-9 then A-Z, no
double digit numbers.
Here is an example of the config setup...
───────────────────────────────────────────────────────────────────────
Activated : Yes
Name : Superk 8k-G
Key : K
Batch : Yes
Protocol type : OTHER
Log style : DSZ
Download command : c:\ext\skhst.com P*P S9600 U*B N2
Li:\sbbs\dszlog.n2 SM-B F @i:\files.n2
Upload command : c:\ext\skhst.com P*P S9600 U*B N2
Li:\sbbs\dszlog.n2 RM-B F
Log file name : i:\sbbs\dszlog.n2
Control file name : i:\files.n2
Effic : 98
Download Ctl Str : %1
Upload Ctl Str : %1
Download log keyword: S
Upload log keyword : S
File name word NR. : 1
───────────────────────────────────────────────────────────────────────
Once you have run SKINST and set it up it will write the info into
the Superk EXE file. Use the P*P to set the port to use, S<locked>
should also be there if you run a locked port, the U*B is for Superk so
it gives the correct estimated time for transfers. and don't forget N*N
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 15
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
for the node number in multiline environments. This one setup can be
changed by simply changing one letter on the command line. Here is a
clip directly from Skinst's help section.
RM-skyalcxnfdmer#
││││││└──── Save aborts toggle
│││││└───── OverWrite toggle
││││└────── K9X calling toggle
│││└─────── S)ingle file / B)atch mode flag
││└──────── Options delimiter
│└───────── Protocol (X,C,W,Y,J,K,S,M,Q,E,D,B,F,H,I,N)
│ X = XmodemChk C = XmodemCRC W = WXmodem Y = 1K-Xmodem
│ J = Jmodem 8K K = K9Xmodem S = Super8K M = Super8K-G
│ Q = 1K Xmdm-G E = Three D D = Three D-G B = 4 BY 4
│ F = 4 BY 4-G H = SixPack I = SixPack-G N = None
└────────── R)eceive / S)end flag or T)erminal mode
Just by changing the letter before the dash you can choose from 15
different variations of Superk.
B I M O D E M
─────────────
BiModem is the only protocol that I know of that allows you to do a
bi-directional transfer, chat, and add files to the transfer all
without leaving it's own screen. Pretty wild huh? Oh well, many people
will probably jump down to this part of the document just to see how
BiModem is set up. First thing you need to know is BiModem is a very
complicated protocol. Just because your users can't get it to work does
not mean that yours is not working. Both sides of the transfer must be
set up correctly. Read the BiModem documents, you will find that a lot
of the things are a little different than your usual protocol. After
being thoroughly confused by the BiModem documents come back here and
we will go through the basic (BASIC) setup for BiModem. First thing
that you need to do is create a file, what kind of file? Just a regular
text file, in it will be a list of downloadable directories. If your
using Frontdoor for your mailer this file looks just like the directory
list for Freq's. Each line has one <drive>:<path> on it.
E:\BBSUTIL
E:\BBSPROG
E:\PROGRAM
E:\UPLOADS
F:\SDS\SBBS
F:\SDS\FRONT
.... and so on
You can name this list anything you want, using Frontdoors file
that you had already created just saves some time. BiModem will use
this list to find files and to determine rejections for duplicates.
Next step would be to run BiMenu. This is BiModem's menu system,
although you can run each part of BiModem separately running BiMenu is
easier (All you have to remember BiMenu). Look at each menu item,
change what you feel is necessary, as usual I have a clip from my
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 16
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
BiMenu settings. The label will be the menu choice and option under
that choice.
Configure BiModem, General Options..
───────────────────────────────────────────────────────────────────────
These options dictate what will be allowed when people
request files from or send files to YOUR system
Allow current directory access (Y/N) Y
Allow file names only (no paths) (Y/N) Y
Rename the file if it already exists (Y/N) Y
Always verify when done (Y/N) N
Do NOT allow source deletion (Y/N) Y
Retain original file date (Y/N) N
Do NOT allow full directory transfers (Y/N) Y
Do NOT allow sub directory transfers (Y/N) Y
Replace Timer Interrupt (Y/N) N
Replace Keyboard Interrupt (Y/N) N
Allow remote file requests (Y/N) Y
Allow local file requests (Y/N) Y
Skip transfer if same date/time/size (Y/N) N
Configure BiModem, Limits & Editing
───────────────────────────────────────────────────────────────────────
These fields establish the limits of time/size and
the editing characteristics.
Number of seconds to wait for connect 40
Operator Page allowed from 9: 0 till 22: 0 military time
Phone number edit mask. All 9's will be replaced with a
portion of the phone #. Other characters in the mask are
placed in their display position as is. Please be sure
to include 10 9's in the mask (999)999-9999
Maximum # of bytes that can be sent during 1 connection
0 means no limit 0
Maximum time allowed during 1 connection 1 hours 0 minutes
Max # of errors before disconnect (0=No Max) 0
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 17
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
Configure BiModem, Download Options
───────────────────────────────────────────────────────────────────────
These are the default settings that will be used when
you request a file to be sent TO your computer
If file exists, use verify to upload it (Y/N) N
If file exists, replace it (Y/N) N
Verify files when done transferring (Y/N) N
Delete source file when done (Y/N) N
Include matching files in sub directories (Y/N) N
Configure BiModem, Upload Options
───────────────────────────────────────────────────────────────────────
These are the default settings that will be used when
you request a file to be sent FROM your computer
If file exists, use verify to upload it (Y/N) N
If file exists, replace it (Y/N) N
Verify files when done transferring (Y/N) N
Delete source file when done (Y/N) N
Include matching files in sub directories (Y/N) N
Configure BiModem, Filenames and Paths
───────────────────────────────────────────────────────────────────────
Directory that files will be received into
E:\UPLOADS\
Directory that aborted files will be renamed into
E:\WRK\
Delete aborted destination files (Y/N) Y
List of directories that determine rejections
C:\EXT\BIMODEM.DIR
Directory or list of directories files are sent from
C:\EXT\BIMODEM.DIR
Path to Password file
Path to UpLoad/Download list (Transfer List) file
BIMODEM.PTH
Path to default files list for BiList
FILES.BBS
Path to log file
C:\EXT\BIMODEM.LOG
Are connects/disconnects to be logged (Y/N) N
Are file transfer statistics to be logged (Y/N) Y
Pay close attention to the directory list, this is the name of the
file that you should have already made. The log file and other options
for filenames can be changed on the command line. Most important is to
assign a upload directory, and a directory to place aborted files. If
the user aborts a file and tries another upload with BiModem it will
then check the abort directory for the files and try to resume. Now for
a look at the Sbbs config.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 18
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
Here is an example of the config setup...
───────────────────────────────────────────────────────────────────────
Activated : Yes
Name : Bimodem v1.24
Key : B
Batch : Yes
Protocol type : BIMODEM
Log style : ICOM
Download command : c:\ext\bimodem.com /LCOM*P /S%2 /T%3 /Ii:\bilog.n2
/Pi:\files.n2 /F
Upload command : c:\ext\bimodem.com /LCOM*P /S%2 /T%3 /Ii:\bilog.n2
/F
Log file name : i:\bilog.n2
Control file name : i:\files.n2
Effic : 98
Download Ctl Str : %1
Upload Ctl Str : %1
Download log keyword: S
Upload log keyword : S
File name word NR. : 0
───────────────────────────────────────────────────────────────────────
Look, protocol type BIMODEM, log style ICOM. This is a must.
BiModem creates a binary log file that Sbbs is able to read. On the
command line you will need the following..
/LCOM*P .......... Port to use, *P = port in config.
/S%2 ............. Users download limit, remember that BiModem is a
bidirectional protocol that allows the users to
add files while downloading or uploading.
Without this the user can start a upload and
download anything on your BBS, no limit (except
for whats in BiModem setup).
/T%3 ............. Time left, need this one also, for the same
reasons as the download limit.
/I<log file>...... This is your bimodem.log. You can use the same
name as specified in the config or a different
one. If you are multiline this will need to be
different for each line. Make sure the name is
the same as specified on the "Log file name".
/P<filename>...... Used for downloads, this is created by Sbbs, use
the name you specified for the "Control File
Name".
/F ............... I feel kinda lost now, I'm writing this doc and
everything is coming from memory, can't
remember what this switch is for but use it.
That should cover it on BiModem, if nothing works check the setup
in BiMenu again and look over the config. If still nothing works send
me your BiModem.Cfg and Sproto.Bbs and a short what happens and I will
try to get it ready for you to pick up. BiModem is one protocol that
you should have available, only problem is if it isn't correctly setup
your users can rape some files off your board. BiModem is popular on
BBS's that have file ratios, since you can upload and download at the
same time this saves the user and your BBS some time.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 19
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
G L O B A L D O W N L O A D S
───────────────────────────────
Many of you use the global download options that SuperBBS has to
offer. There is one thing that as of this writing the %1 parameter on
the command line only passes the filename, no path to the file. What
happens when a user tries to download a file that is not in the current
directory? The protocol will only get a filename and will abort the
transfer. Most protocols handle batch transfers so this usually would
not be a issue, but some don't so there has to be a way to handle it. I
have worked out a simple effective solution to this problem through the
use of a batch file and a program called WHEREIS. The Whereis that I'm
talking about is Keith Ledbetters Whereis. Version 4.4b is the most
current to my knowledge. What whereis can do for you is find a file
then change to that directory, where you can then execute the protocol.
This might not work for your system or you might not even want to use
it. If you don't allow global downloads then you shouldn't have to use
this approach. Otherwise this is the way to do it for now.
First you have to find WHEREIS, I have a copy on my BBS and is
available for Freq. A wonderful program it is, searching all drives for
that one file, making dupe file lists, checking inside archives and
many more options. Then you need to make your batch file. The command
line for whereis is real simple "WHEREIS FILENAME", this will search
for FILENAME on the current drive. "WHEREIS FILENAME -gf" will find the
file then change to that directory. Ok so you have more than one drive,
no problem. Try "WHEREIS DEF:FILENAME -gf", this will look for FILENAME
on drives D,E, and F. In your config you should then call your batch
file using *C /C to execute it and pass all parameters to it like you
would the protocol. For Example.. Say the command line for DSZ Xmodem
would be "C:\EXT\GSZ.EXE est 0 *B sx %1". Make you batch file and call
it something like DSZXMOD.BAT, now for the command line you would use
"*C /C DSZXMOD.BAT *B %1". Then your batch file would look like ...
───────────────────────────────────────────────────────────────────────
@echo off
REM If file not there have whereis find file and change directories...
if not exist %2 whereis def:%2 -gf
REM Execute GSZ with estimate baud rate and filename...
c:\ext\gsz.exe est 0 %1 sx %2
REM Make sure we end up back on C drive and in Sbbs directory
c:
cd\sbbs
───────────────────────────────────────────────────────────────────────
Using this batch method works real well, on catch to using whereis
to change directories. Say you have a file MYFILE.ZIP on D: in a
offline directory to be moved and the new version is on E:, whereis
will change directories to the first file it finds. That's it.. Maybe
this will explain why DSZ and a few others didn't work. Just fill out
the config as you would for a regular DSZ and everything should work,
that is for the ones that create a DSZ compatible log file. Read on on
how to do the ones with no log files.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 20
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
E R R O R L E V E L P R O T O C O L S
───────────────────────────────────────
As of version 1.15, SuperBBS does not support errorlevel protocols.
Can't really explain why but maybe because there are not to many of
them out there. So what happens when you like Jmodem, or the Microtech
protocols? You use a little batch file magic. No 4dos here just regular
old DOS. If you haven't done so read over the previous section on
Global downloads before going any further.
Back so soon? Ok, let's get on with it. As you should already know
you can create files using redirection with DOS. Using commands like
ECHO and REM will create files if redirected, > out to file or < in
from file. A command like "ECHO Hello > TEST.IT" will make a file
called TEST.IT in the current directory and in it will be the word
"Hello" (without quotes). Ok so how does this help you? Well SuperBBS
needs a protocol that will make a log file, an errorlevel protocol
exits at a certain errorlevel when a transfer is done. You can use this
errorlevel and depending on it use ECHO to make you log file. Does this
make any sense at all? For the command line it would be similar to the
Global download, I will use Jmodem as an example.
Here is an example of the config setup...
───────────────────────────────────────────────────────────────────────
Activated : Yes
Name : Jmodem
Key : J
Batch : Yes
Protocol type : OTHER
Log style : OTHER
Download command : *C /C JMOD S *P *N %1
Upload command : *C /C JMOD R *P *N %1
Log file name : i:\sbbs\dszlog.n1
Control file name : i:\files.n1
Effic : 98
Download Ctl Str : %1
Upload Ctl Str : %1
Download log keyword: S
Upload log keyword : R
File name word NR. : 1
───────────────────────────────────────────────────────────────────────
What? The same batch for send and receive! Yep, I hate having 200
batch files laying around. I have just one DOORS batch, about 5k but it
runs all of my door games for BOTH nodes. The command line will be
expanded out to "<path\name command.com> /C JMOD S 1 1 2400 FILENAME"
depending on what port you are using. Jmodem does not need a baud rate
so no need to have it on the command line. Notice the upload and
download keyword, also the Filename word number. These things are real
important to Sbbs, this also plays importance in the batch file. You
will see what I mean. The following batch is also made up for global
downloads using WHEREIS.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 21
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
@echo off
REM Check if %1 is null
if %1.==. goto ERROR
REM %1 is fine goto %1, should be R or S
goto %1
:S
REM Is file there? find if not there.
if not exist %4 whereis def:%4 -gf
:R
REM Execute Jmodem, should be jmodem R1 filename.ext
c:\ext\jmodem.exe %1%2 %4
REM check errorlevel, if bad xfer goto BAD
if errorlevel 1 goto BAD
REM Good transfer, create logfile using DSZLOG environment
echo %1 %4 > %DSZLOG%
REM goto OK
goto OK
:ERROR
echo Hey Sysop, what ya tryin to do!
goto OK
:BAD
REM Bad transfer, E means error, make log with filename
echo E %4 > %DSZLOG%
:OK
REM goto back to C: and change to nodes dir, *N on command line
c:
cd\sbbs\n%3
───────────────────────────────────────────────────────────────────────
Not to bad eh? Take out all the REM's and this batch file is pretty
small. Ok for a quick explanation. Lets just imagine the user wants to
download ALLFILES.ZIP and it is in the current directory. The user is
on Node 2 which uses COM1. When SuperBBS expands the command line it
will look like "C:\COMMAND.COM JMOD S 1 2 ALLFILES.ZIP" and then
execute this command. The batch file takes over with these parameters
and will first check if %1 (S) is null, if not it will goto label S.
Since you read the part on Global downloads (did you?) the next line
should explain itself, check for the file. If it's not the find it and
change directories. Since the file is in the current directory whereis
will not even be run. Then it passes on to executing Jmodem. With the
parameters supplied it will do "c:\ext\jmodem.exe S1 ALLFILES.ZIP". The
user gets the file successfully, Jmodem will exit at errorlevel 0 then
so "if errorlevel 1" is incorrect so control goes to the next
statement. "ECHO S ALLFILES.ZIP > I:\SBBS\DSZLOG.N2" is what the next
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 22
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
line would look like on my system after DOS expands it. The S is there
to say the file was sent, then the filename. Sbbs will read this log
file and look for the S, found it so look for filename, ok transfer ok,
delete log, update and all is done. If the transfer was BAD, jmodem
would exit at errorlevel 1 and the log file would then have E instead
of S in the logfile. Sbbs will understand this and say "0 files sent".
That's it for errorlevel protocols, give them all a try. The
microtech protocols are very nice and have to be run this way.
O T H E R P R O T O C O L S
─────────────────────────────
There are many protocols out there that I used to use, but since
getting my USR I found that these do not support the high baud rates
and locked ports. Some of the ones that I have used and tested are.
QMXFER, All variations. Mainly Imodem
PUNTER, a relaxed Xmodem style. Good for sending to Commodores
rCMODEM, very nice. Does high speed but not locked ports
TRANSLINK, can't explain this one, it worked at 2400
WXMODEM, Windowed Xmodem. A little faster
PCKERMIT, Yuk! 2400 max speed
and many others that have since disappeared from my hard drive.
M O D E M S E T T I N G S
───────────────────────────
Just though that you might like to look at my modem settings. These
settings may not work for you but they are very reliable on my system
and as far as I know no one has trouble connecting with either one of
my nodes.
USR HST/DS Settings...
───────────────────────────────────────────────────────────────────────
ATI4
USRobotics Courier 14400 HST Dual Standard Settings...
B0 C1 E0 F1 M0 Q0 V1 X4
BAUD=38400 PARITY=N WORDLEN=8
DIAL=HUNT ON HOOK TIMER
&A3 &B1 &C1 &D2 &G0 &H1 &I0 &K3 &L0
&M4 &N0 &P0 &R2 &S1 &T5 &X0 &Y0 %R0
S00=000 S01=000 S02=043 S03=013 S04=010
S05=008 S06=002 S07=060 S08=002 S09=006
S10=015 S11=055 S12=050 S13=000 S14=001
S15=008 S16=000 S17=000 S18=000 S19=000
S20=000 S21=010 S22=017 S23=019 S24=150
S25=000 S26=001 S27=000 S28=008 S29=020
S30=000 S31=000 S32=002 S33=000 S34=000
S35=000 S36=000 S37=000 S38=002
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 23
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
ATI5
USRobotics Courier 14400 HST Dual Standard NRAM Settings...
DIAL=TONE B0 F1 M0 X4
BAUD=38400 PARITY=N WORDLEN=8
&A3 &B1 &G0 &H1 &I0 &K3 &L0 &M4 &N0
&P0 &R2 &S1 &T5 &X0 &Y0 %R0
S02=043 S03=013 S04=010 S05=008 S06=002
S07=060 S08=002 S09=006 S10=015 S11=055
S12=050 S13=000 S15=008 S19=000 S21=010
S22=017 S23=019 S24=150 S26=001 S27=000
S28=008 S29=020 S32=002 S33=000 S34=000
S35=000 S36=000 S37=000 S38=002
STORED PHONE #0:
#1:
#2:
#3:
Nothing special on using the USR modem, just set everything to what you
see above, then for a init string use ATZ|. The USR is very stable and
in my opinion the best modem around. Take a look at S38, this may help
you with those users that don't get to see your goodbye screen.
ZOOM 2400 v.42bis
───────────────────────────────────────────────────────────────────────
ACTIVE PROFILE:
B1 E0 L2 M0 N1 P Q0 V1 W0 X4 Y0 &C1 &D2 &G0 &J0 &K3 &Q5 &R0 &S0 &T4 &X0
&Y0 S00:000 S01:000 S02:043 S03:013 S04:010 S05:008 S06:002 S07:055
S08:002 S09:006 S10:014 S11:055 S12:050 S18:000 S25:005 S26:001 S36:007
S37:006 S38:002 S44:003 S46:138 S48:007 S49:016 S50:255
STORED PROFILE 0: B1 E0 L2 M0 N1 P Q0 V1 W0 X4 Y0 &C1 &D2 &G0 &J0 &K3
&Q5 &R0 &S0 &T4 &X0 S00:000 S02:043 S06:002 S07:055 S08:002 S09:006
S10:014 S11:055 S12:050 S18:000 S25:005 S26:001 S36:007 S37:006 S38:002
S44:003 S46:138 S48:007 S49:016 S50:255
STORED PROFILE 1: B1 E0 L2 M0 N1 P Q0 V0 W0 X4 Y0 &C1 &D2 &G0 &J0 &K3
&Q5 &R0 &S0 &T4 &X0 S00:000 S02:043 S06:002 S07:030 S08:002 S09:006
S10:014 S11:055 S12:050 S18:000 S25:005 S26:001 S36:005 S37:000 S38:002
S44:003 S46:138 S48:007 S49:008 S50:255
TELEPHONE NUMBERS:
0= 1=
2= 3=
Zoom makes a good modem, but after being spoiled by the USR it's
not very much fun to set up. The main thing that does not show in the
AT&V is the S95 register, default is set to 44, you NEED to set this to
3, S95=3 . This will make the Zoom return the true connect speed and if
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 24
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
a error free connect will append /ARQ to the end. With it set at 44 all
connects will be 9600 regardless of what the real time speed is.
I have the USR locked at 38400 and the Zoom at 9600, I generally
use X00 but switch every now and then to BNU, just to test a program or
something but I always come back to X00. One thing to note is X00 may
not work on some internal modems, both of mine are external. I used to
have 2 internal modems and X00 would not work on either one of these.
This is because of X00's complete handling of the port interrupts. If
you can get it to work Great!. My command lines for either are.
X00.SYS 2 E NOPOST DV B,0,38400 B,1,9600 R=1024 T=1024 F=15
BNU.COM /P:2 /L0:38400 /L1:9600 /Z0 /M- /F /R:1024 /T:1024
I load either from the config.sys, I know BNU is a com file but you can
use "INSTALL" a DOS command to load tsr's from your config.sys. This
will save you the environment space for that program. Both fossils work
well loaded high with QEMM's loadhi.
W H O I S B O B ?
─────────────────────
Better yet where is Bob? Bob lives in a little town in Texas, how
about Richwood Texas. I guess that is why my BBS is called the Richwood
BBS? Could be a good reason. I originally purchased my home computer to
do some programming at home, mostly for work but also to learn a few
new things. Since the computer had a modem in it I had to call around
and see just what a BBS was. Hmmmmm, very interesting. Didn't know you
could do that on a phone line. Download files, chat... WOW! Since that
time (10/90) I had started my own BBS, joined Fidonet, got another
line (2 BBS lines), increased my phone bill %400, and generally had a
good time. Back to 10/90, I was looking around for a BBS to try, so
many choices. What do I do? I tried, setup, ran just about everything.
Then just before the BBS went online I found a new one, SuperBBS 1.04.
Ok so it was a little unstable back then, but it had everything that I
wanted at that time. Ease of setup, lots of third party utilities
because it was Qbbs/Ra compatible, and it had more things in it than
the other compatibles (Qbbs/Ra) had. So since then I have been running
SuperBBS. Now comes the fun part.. Qbbs/Ra/Sbbs compatible today is
hard to say. Other than the message base there is nothing left. All
three did something new to the users.bbs, same size but those empty
holes in it are filled up differently between the three. Since I do
some programming at work why don't I write some new things for Super.
Easier than it sounds, I don't do Pascal very well. My choice of
compilers is C. So after spending many hours writing conversion utils
for me to use and converting the Pascal structures for all three BBS's
I'm ready. Watch out for some good utils coming your way. I have
already released MKFOLDER.ZIP, conversion utility for CONFIG.BBS to
FOLDER.FD and sent it out in SDS.
On the personal side .. I work for BASF (yeah those diskette
things) as a production technician, and do most of the analytical
programming for our unit. I enjoy helping YOU, and I don't even know
who you are. No matter. We all live on the same planet, or do we? I
can't think of anything else to say so let's move on.
───────────────────────────────────────────────────────────────────────
Bob Henderson (1:3812/10) Page 25
───────────────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────────────
SuperBBS 1.15+ Protocol HELP
───────────────────────────────────────────────────────────────────────
C R E D I T S
─────────────
Many thanks go out to Aki and Risto, Thanks for writing and
maintaining a wonderful BBS package. I'm sure great things are on the
road ahead for the SuperBBS Group.
I also wish to thank Charles Buchanan, without his drive to test
protocols there would not be much of a document here. I could have
called myself in DV but trying to watch both windows in 50 line mode
hurts my eyes.
Special thanks to my wife Becky for actually putting up with me for
the past few years and letting me stay up to the wee hours doing the
BBS thing.
That should cover it, if I left someone out SORRY. Mucho thanks
anyways.
N O W W H A T ?
─────────────────
Ok so I forgot one thing, If you have any problems at ALL you can
reach me in the Fidonet SUPERBBS echo or send netmail to 1:3812/10.
I don't think that I should require a disclaimer for this file but
here goes. Use any information provided within this document at your
own risk. Bob's not responsible for typo errors or bad grammar. Just
remember, It's only a hobby, only a hobby, a hobby, hobby....hobby
This document was written using Sageword 4.0 word processor, and
spelling checked with Share Spell. Without either it would be alot
messier.
Have Fun!
Bob
───────────────────────────────────────────────────────────────────────
T H E E N D
───────────────────────────────────────────────────────────────────────